A Linguagem Oculta Dentro
O Rust tem um segredo: ele é na verdade duas linguagens em uma. Enquanto o Rust Seguro é seu guardião, o compilador do Rust é fundamentalmente conservador. Ele segue uma filosofia rigorosa: é melhor rejeitar um programa válido e seguro do que permitir acidentalmente um único programa perigoso. Isso cria uma lacuna entre o que o hardware pode fazer e o que o compilador consegue provar.
A Realidade Rígida
Imagine o compilador como um portão rigoroso. No nosso exemplo de código, o guardião de correspondência se y aplica-se ao grupo inteiro de padrões (4 | 5 | 6). Essa rigidez precedência reflete como funciona o Borrow Checker; ele aplica regras globais e inflexíveis à sua memória. Mas o hardware de computador subjacente é inherentemente inseguro; ele não entende propriedade ou duração. Para construir ferramentas de alto desempenho como split_at_mut, devemos entrar no Rust Inseguro 'atalho de fuga' para realizar operações que são tecnicamente corretas, mas logicamente muito complexas para a análise estática do compilador.
A lacuna entre os círculos vermelho e verde é onde vive o Rust Inseguro — permitindo-nos alcançar todo o potencial do hardware quando a análise estática falha.